perm filename TENEX.DOC[D,LES] blob
sn#088132 filedate 1974-02-16 generic text, type T, neo UTF8
␈↓␈↓ αQ␈↓βStanford Artificial Intelligence Laboratory
␈↓β␈↓ ¬MMEMORANDUM
␈↓β␈↓ ¬K␈↓February 16, 1974
␈↓␈↓αTo:␈↓␈↓ αHRalph␈α
Gorin,␈α
Dick␈α
Helliwell,␈α
Jeff␈α
Rubin,␈α
John␈α
McCarthy,␈α
Forest␈α
Baskett
␈↓␈↓αFrom:␈↓ αH␈↓Les␈α
Earnest
␈↓␈↓αSubject:␈↓ αH␈↓The␈α
Next␈α
Timesharing␈α
System
␈↓␈↓αReferences:␈↓
␈↓1.␈α
L.␈α
Earnest,␈α
Request␈α
for␈α
BBN␈α
Pager,␈α
ARPAnet␈α
memo␈α
to␈α
S.␈α
Crocker,␈α
October␈α
1973.
␈↓2.␈α
R.␈α
Gorin,␈α
"Display␈α
Services",␈α
note␈α
dated␈α
28␈α
November␈α
1973.
␈↓3.␈α
R.␈α
Gorin,␈α
Tenex␈α
notes,␈α
in␈α
file␈α
BLAH.BLA[N,REG],␈α
dated␈α
12␈α
February␈α
1974.
␈↓We␈α∀decided␈α∀to␈α∀"switch␈α∃to␈α∀Tenex"␈α∀some␈α∀time␈α∀ago␈α∃and,␈α∀last␈α∀October,␈α∀made␈α∃a␈α∀semi-formal
␈↓commitment␈αto␈α
ARPA␈αto␈αdo␈α
so␈αwithin␈αa␈α
year␈α[Reference␈α
1].␈α Of␈αcourse,␈α
"switching␈αto␈αTenex"␈α
can
␈↓mean␈α
a␈α
number␈α
of␈α
different␈α
things.␈α
This␈α
note␈α
summarizes␈α
the␈α
situation␈α
as␈α
I␈α
see␈α
it.
␈↓␈↓ ¬L␈↓αHow we got here.␈↓
␈↓Our␈α⊃decision␈α⊂to␈α⊃pick␈α⊂up␈α⊃the␈α⊂BBN␈α⊃Pager␈α⊂and␈α⊃Tenex␈α⊂was␈α⊃based␈α⊂primarily␈α⊃on␈α⊃the␈α⊂following
␈↓considerations.
␈↓␈↓ αλ1.␈α
The␈α
virtual␈α
memory␈α
scheme␈α
greatly␈α
simplifies␈α
program␈α
memory␈α
allocation.
␈↓␈↓ αλ2.␈α
Multiple␈α
processes␈α
under␈α
one␈α
job␈α
are␈α
operationally␈α
useful.
␈↓␈↓ αλ3.␈α A␈αsubstantial␈αsegment␈αof␈αthe␈αARPAnet␈αcommunity␈αis␈αusing␈αTenex,␈αwhich␈αopens␈α
the
␈↓␈↓ αλway␈αto␈α
software␈αsharing␈α
(mostly␈α"export"␈α
for␈αus,␈α
which␈αearns␈α
some␈αBrownie␈αpoints)␈α
and
␈↓␈↓ αλload␈α
sharing␈α
(also␈α
"export"␈α
for␈α
the␈α
forseeable␈α
future).
␈↓␈↓ αλ4.␈α∞ Tenex␈α
supports␈α∞BBN␈α
Lisp,␈α∞which␈α
some␈α∞people␈α
think␈α∞is␈α
good␈α∞for␈α
them,␈α∞though␈α
it
␈↓␈↓ αλclanks␈α
a␈α
lot.
␈↓We␈α∂recognized␈α∂some␈α∂shortcomings␈α∂and␈α∂adaptation␈α∂problems␈α∂in␈α∂Tenex␈α∂that␈α∂would␈α∂have␈α∂to␈α∞be
␈↓remedied␈α
before␈α
we␈α
could␈α
use␈α
it.
␈↓␈↓ αλ1.␈α It␈αhas␈αno␈αdisplay␈αservice.␈α We␈αneed␈αsomething␈αat␈αleast␈αequivalent␈αin␈αperformance␈αto
␈↓␈↓ αλour␈α
current␈α
service.
␈↓␈↓αThe Next Timesharing System␈↓
↑Page 2
␈↓␈↓ αλ2.␈α
Its␈α
swapping␈α
and␈α
scheduling␈α
algorithms␈α
are␈α
apparently␈α
ill-suited␈α
to␈α
our␈α
swapper␈α
and
␈↓␈↓ αλload.
␈↓␈↓ αλ3.␈α
The␈α
file␈α
system␈α
would␈α
have␈α
to␈α
be␈α
modified␈α
to␈α
run␈α
Librascope␈α
and␈α
the␈α
3330.
␈↓␈↓ αλ4.␈α
Other␈αpeculiar␈α
processors␈α
and␈αdevices␈α
would␈α
have␈αto␈α
be␈α
accomodated:␈αPDP-6␈α
(XGP
␈↓␈↓ αλservice␈α
only),␈α
PDP-11␈α
system,␈α
audio␈α
AD/DA,␈α
etc.
␈↓There␈αare␈αsome␈αadditional␈α
shortcomings␈αthat␈αshould␈αbe␈α
fixed␈αif␈αwe␈αpick␈α
up␈αTenex,␈αbut␈αwe␈α
could
␈↓live␈α
with␈α
them␈α
for␈α
awhile.
␈↓␈↓ αλ5.␈α Files␈αmust␈αbe␈αaudited␈αfor␈αeach␈αreload␈α(probably␈α15␈αminutes␈αor␈αso␈αof␈αCPU␈αtime␈αfor
␈↓␈↓ αλus).␈α
The␈α
file␈α
system␈α
should␈α
have␈α
sufficient␈α
redundancy␈α
and␈α
checking␈α
so␈α
that␈α
this␈αis␈α
not
␈↓␈↓ αλnecessary.
␈↓␈↓ αλ6.␈α Realtime␈αmode␈αon␈αthe␈αPDP-10␈αis␈αuseful,␈αthough␈αthe␈αneed␈αfor␈αit␈αshould␈α
be␈αreduced
␈↓␈↓ αλsomewhat␈α
by␈α
the␈α
existence␈α
of␈α
the␈α
PDP-11␈α
system.
␈↓There␈α
are␈α
some␈α
other␈α
features␈α
that␈α
we␈α
should␈α
add␈α
to␈α
whatever␈α
system␈α
we␈α
are␈α
going␈α
to␈α
use.
␈↓␈↓ αλ7.␈α
A␈α
fancier␈α
display␈α
service␈α
is␈α
needed,␈α
including␈α
the␈α
"page␈α
editor"␈α
idea␈α
and␈αcomplete
␈↓␈↓ αλgraphics␈α
support␈α
for␈α
remote␈α
displays␈α
with␈α
CPUs␈α
via␈α
ARPAnet␈α
or␈α
phone␈α
line.
␈↓␈↓ αλ8.␈α
A␈α
better␈α
file␈α
system␈α
is␈α
desirable,␈α
providing␈α
such␈α
things␈α
as␈α
invisible␈α
subdirectories␈α
for
␈↓␈↓ αλeditors,␈α
the␈α
ability␈α
to␈α
insert␈α
records␈α
in␈α
the␈α
middle␈α
of␈α
a␈α
file,␈α
etc.
␈↓␈↓ ¬6␈↓αCurrent Alternatives␈↓
␈↓Plausible␈α
alternatives␈α
open␈α
to␈α
us␈α
now␈α
are␈α
as␈α
follows.
␈↓␈↓ αλ1.␈α∪ Continue␈α∩development␈α∪of␈α∪our␈α∩existing␈α∪Monitor,␈α∩adding␈α∪a␈α∪Tenex␈α∩compatibility
␈↓␈↓ αλpackage␈α
(Yuk!)␈α
and␈α
some␈α
of␈α
the␈α
new␈α
features␈α
that␈α
we␈α
want.
␈↓␈↓ αλ2.␈α⊃ Pick␈α⊃up␈α⊃either␈α⊃the␈α⊃BBN␈α⊃or␈α⊃DEC␈α⊃version␈α⊃of␈α⊃Tenex,␈α⊃add␈α⊃features␈α⊃to␈α⊃meet␈α⊂our
␈↓␈↓ αλminimum␈α⊂requirements,␈α∂then␈α⊂start␈α∂converting␈α⊂our␈α∂user␈α⊂population␈α∂while␈α⊂adding␈α∂the
␈↓␈↓ αλdesirable␈α
features.
␈↓␈↓ αλ3.␈α_ Design␈α_a␈α↔glorious␈α_new␈α_timesharing␈α_system␈α↔with␈α_some␈α_degree␈α_of␈α↔backward
␈↓␈↓ αλcompatibility␈αto␈α
both␈αour␈αcurrent␈α
system␈αand␈αTenex,␈α
and␈αoffering␈αa␈α
Tenex-style␈αTTY
␈↓␈↓ αλuser␈α
interface␈α
for␈α
those␈α
who␈α
want␈α
it.
␈↓The␈αeffort␈αrequired␈α
to␈αexecute␈αany␈α
of␈αthese␈αalternatives␈α
cannot␈αbe␈αestimated␈αaccurately,␈α
especially
␈↓without␈α
pinning␈αdown␈α
the␈α
design␈αfeatures␈α
much␈α
more␈αaccurately.␈α
Even␈α
so,␈αI␈α
will␈α
venture␈αsome
␈↓crude␈α
guesses.
␈↓The␈αfirst␈αalternative␈αlooks␈αextremely␈αdifficult␈αbecause␈αof␈αa␈αnumber␈αof␈αTenex␈αfeatures␈αthat␈αhave
␈↓no␈αcounterparts␈αin␈αour␈αsystem.␈α In␈αpractice,␈αit␈αwould␈αprobably␈αbe␈αmore␈αwork␈αthan␈αwriting␈αa␈αnew
␈↓system.
␈↓␈↓αThe Next Timesharing System␈↓
↑Page 3
␈↓With␈αthree␈αgood␈α
full-time␈αsystem␈αprogrammers,␈α
a␈αminimally␈αmodified␈α
Tenex␈αsystem␈αcould␈αbe␈α
put
␈↓up␈α
in␈α
9␈α
months␈α
to␈α
a␈α
year␈α
and␈α
a␈α
rather␈α
stable␈α
system␈α
in␈α
another␈α
9␈α
months.␈α
(With␈α
the␈α
crew␈αwe
␈↓have,␈α
it␈α
should␈α
take␈α
only␈α
slightly␈α
longer.)
␈↓To␈αdevelop␈αa␈αnew␈αsystem␈αwould␈αprobably␈αtake␈αtwo␈αyears␈αfor␈αa␈αminimum␈αoperational␈αsystem␈αand
␈↓another␈α
year␈α
of␈α
fancy␈α
work.
␈↓␈↓ ¬;␈↓αWhat should we do?␈↓
␈↓I␈αbelieve␈αthat␈αour␈αsystem␈αprogramming␈αgroup␈αhas␈αsufficient␈αtalent␈αto␈αproduce␈αa␈αnew␈αsystem␈αthat
␈↓is␈α
significantly␈α
better␈α
than␈α
Tenex.␈α
Whether␈α∞they␈α
have␈α
sufficient␈α
stamina␈α
to␈α
see␈α
such␈α∞a␈α
project
␈↓through␈α∂the␈α∞long␈α∂pull␈α∞is␈α∂not␈α∞so␈α∂clear.␈α∞ If␈α∂we␈α∞want␈α∂to␈α∞go␈α∂this␈α∞way,␈α∂we␈α∞will␈α∂have␈α∞a␈α∂sizable␈α∞job
␈↓convincing␈α∞ARPA␈α∞that␈α∞we␈α
should␈α∞overthrow␈α∞their␈α∞"standard"␈α
system.␈α∞ With␈α∞the␈α∞current␈α∞list␈α
of
␈↓desired␈α
features␈α
[Reference␈α
3],␈α
the␈α
argument␈α
is␈α
not␈α
very␈α
compelling.
␈↓As␈αthings␈αstand,␈αI␈αthink␈αthat␈αwe␈αshould␈αpatch␈αTenex,␈αeven␈αthough␈αthis␈αwill␈αforce␈αus␈αto␈αlive␈αwith
␈↓a␈α
few␈αminor␈α
atrocities␈α
for␈αthe␈α
forseeable␈αfuture.␈α
In␈α
particular,␈αI␈α
suggest␈αthe␈α
development␈α
of␈αan
␈↓initial␈α
system␈α
that␈α
supports␈α
the␈α
following␈α
in␈α
compatability␈α
mode:
␈↓␈↓ αλ1) local display service (DD & III) including a page editor,
␈↓␈↓ αλ2) PDP-6 service for XGP,
␈↓␈↓ αλ3) PDP-11 service,
␈↓␈↓ αλ4) other local peripherals,
␈↓but␈α⊂omits␈α∂such␈α⊂things␈α∂as␈α⊂pseudo-teletypes,␈α∂spacewar␈α⊂mode,␈α∂upper␈α⊂segments,␈α∂and␈α⊂old-style␈α∂user
␈↓interrupts.
␈↓Once␈α
this␈α
system␈α
works,␈α
tuning␈α
and␈α
reprogramming␈α
of␈α
swapping␈α
and␈α
scheduling␈α
programs␈α
would
␈↓be␈α∩done␈α∩until␈α∩the␈α∩system␈α∩is␈α∩capable␈α∩of␈α∩supporting␈α∩the␈α∩local␈α∩load.␈α∩ At␈α∩that␈α∩point,␈α∩our␈α⊃user
␈↓community␈α
would␈α
shift␈α
to␈α
the␈α
new␈α
system.
␈↓The␈α
next␈α
step␈αwould␈α
be␈α
to␈αrewrite␈α
the␈α
file␈αsystem␈α
to␈α
overcome␈αfixed␈α
directory␈α
size␈αlimitations␈α
and
␈↓the␈α
need␈α
for␈α
frequent␈α
audits␈α
and␈α
to␈α
add␈α
other␈α
new␈α
features,␈α
such␈α
as␈α
invisible␈α
subfile␈α
directories.